package com.ruoyi.contractAndAudit.service.impl;

import com.ruoyi.contractAndAudit.domain.DocContract1;
import com.ruoyi.contractAndAudit.mapper.DocAuditMapper;
import com.ruoyi.contractAndAudit.mapper.vo.ContractVO;
import com.ruoyi.contractAndAudit.service.IDocAuditService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class DocAuditImpl implements IDocAuditService {

    @Autowired
    private DocAuditMapper docAuditMapper;

    /**
     * 添加签约表
     *
     * @param docContract1 签约表对象，包含合同的详细信息
     */
    @Override
    public void addContract(DocContract1 docContract1) {

        docAuditMapper.addContract(docContract1);

        // 根据用户id和团队id搜出当前订单id再写回用户表
        Long contractId = docAuditMapper.getContractId(docContract1.getUserId(), docContract1.getTeamId());

        // 更新用户表签约id（拼接字符串）
        docAuditMapper.updateUserContractId(docContract1.getUserId(), contractId);
    }

    /**
     * 获取待签约团队数据
     *
     * @param userId 用户id
     * @return List<ContractVO> 待签约团队数据
     */
    @Override
    public List<ContractVO> getDocContract(Long userId) {
        return docAuditMapper.getDocContract(userId);
    }

    /**
     * 提交签约校验（已付款和审核未通过不管，其他的显示：请勿重复提交签约订单）
     *
     * @param userId 用户id
     * @param teamId 团队id
     * @return int
     */
    @Override
    public int checkContracted(Long userId, Long teamId) {
        return docAuditMapper.checkContracted(userId, teamId);
    }

    /**
     * 提交签约校验（已付款和审核未通过不管，其他的显示：请勿重复提交签约订单）
     *
     * @param userId 用户id
     * @param teamId 团队id
     * @return int
     */
    @Override
    public int checkContracting(Long userId, Long teamId) {
        return docAuditMapper.checkContracting(userId, teamId);
    }

}
